home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / FLEX.TYPE.SHK / FLEX.TYPE / FLEX TYPE DEMO 70.bas < prev    next >
BASIC Source File  |  2000-01-01  |  9KB  |  110 lines

  1. 0  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>FLEX TYPE (DEMO)  <CTRL-M>BY  MARK SIMONSEN <CTRL-M>COPYRIGHT (C) 1982<CTRL-M>==================
  2. 10  & :ADDR =  PEEK(974) + PEEK(975) *256:ADDR = ADDR +2048
  3. 20  IF  PEEK(ADDR -9) = 3  AND  PEEK(ADDR -8) = 2  AND  PEEK(ADDR -7) = 1  THEN 40
  4. 30  HOME : PRINT "THIS PROGRAM EXPECTS A 70 COLUMN": PRINT "CHARACTER SET TO BE LOADED IN": PRINT "POSITION 1, A 56 COLUMN CHARACTER SET": PRINT "IN POSITION 2, AND A 40 COLUMN": PRINT "CHARACTER SET IN POSITION 3.": STOP 
  5. 40  VTAB 1: PRINT  CHR$(2) CHR$(16): ONERR  GOTO 1170
  6. 50  IF  PEEK(973) < >76  THEN  HOME : PRINT "FLEX TYPE MUST BE LOADED.": STOP 
  7. 60  IF  PEEK(104) <64  THEN  LOMEM: 24576
  8. 80 A$ =  CHR$(1):B$ =  CHR$(2):D$ =  CHR$(4):E$ =  CHR$(5):F$ =  CHR$(6):N$ =  CHR$(14):T$ =  CHR$(20):W$ =  CHR$(23):Z$ =  CHR$(26)
  9. 90 T70$ = T$ +"1":T56$ = T$ +"2":T40$ = T$ +"3"
  10. 100  PRINT T70$;: HOME 
  11. 110  HTAB 28: INVERSE : PRINT ":"; SPC( 11);":"
  12. 120  HTAB 28: PRINT "  FLEX TYPE  "
  13. 130  HTAB 28: PRINT ":"; SPC( 11);":": NORMAL 
  14. 140  VTAB 5: HTAB 17: PRINT "HIGH RESOLUTION CHARACTER GENERATOR"
  15. 150  PRINT : HTAB 26:X$ = "BY  MARK SIMONSEN": GOSUB 1130
  16. 160  PRINT : VTAB 10: PRINT "FLEX TYPE GIVES YOU CONTROL OVER APPLE'S INPUT AND OUTPUT FEATURES,": PRINT "ALLOWING YOU ACCESS TO: "
  17. 170  VTAB 13: HTAB 22: PRINT "- ALTERNATE CHARACTER SETS": HTAB 22: PRINT "- UPPER AND LOWER CASE": HTAB 22: PRINT "- ALL SPECIAL CHARACTERS": HTAB 22: PRINT "  AND": HTAB 22: PRINT "- MIXED GRAPHICS AND TEXT"
  18. 180  VTAB 19: PRINT "...WHATEVER YOUR DESIRES AND PROGRAMMING REQUIREMENTS MIGHT BE."
  19. 190  PRINT : PRINT "THE FOLLOWING DEMONSTRATION WILL ILLUSTRATE JUST A ";:X$ = "FEW": GOSUB 1130: PRINT " OF FLEX TYPE'S": PRINT "CAPABILITIES.";
  20. 200  GOSUB 1080
  21. 210  GOSUB 1100
  22. 220  HTAB 22: INVERSE : PRINT " ALTERNATE CHARACTER SETS ": NORMAL 
  23. 230  PRINT : PRINT "FLEX TYPE ALLOWS YOU TO STRETCH OR SHRINK YOUR APPLE'S SCREEN."
  24. 240  PRINT : PRINT "YOU CAN SELECT FROM UP TO 9 DIFFERENT MEMORY-RESIDENT CHARACTER SETS": PRINT "AT ANY TIME.  (YOU CAN REDEFINE THE CHARACTERS TOO!)"
  25. 250  PRINT : PRINT "AND, THE CHARACTER SETS CAN BE ANY SIZE.  YOU CAN USE 20, 40, 56, AND 70 COLUMN CHARACTER SETS AT THE SAME TIME."
  26. 260  PRINT : PRINT "FOR EXAMPLE..."
  27. 270  PRINT : PRINT "-THIS IS A 70 COLUMN CHARACTER SET."
  28. 280  PRINT : PRINT T56$"-THIS IS A 56 COLUMN CHARACTER SET."
  29. 290  PRINT : PRINT T40$"-THIS IS A 40 COLUMN CHARACTER SET."
  30. 300  PRINT : PRINT W$"-THIS IS A 20 COLUMN CHARACTER SET."
  31. 310  PRINT : PRINT T70$"GET THE IDEA? ";: GOSUB 1080: VTAB 24: HTAB 1: PRINT E$;: POKE 34,2: FOR I = 1 TO 19: VTAB 24: PRINT : NEXT I
  32. 320  VTAB 5: HTAB 1: PRINT "HERE'S ANOTHER SAMPLE."
  33. 340  FOR I = 1 TO 4: PRINT T$I
  34. 350  IF I = 4  THEN  PRINT W$;
  35. 360  FOR J = 32 TO 127: PRINT  CHR$(J);: NEXT J: PRINT : NEXT I: PRINT T70$;
  36. 370  GOSUB 1080: HOME 
  37. 380  PRINT "O.K., JUST ONE MORE.": PRINT 
  38. 390 VP = 5:HP = 1:X$ = "]LIST": GOSUB 1070: LIST 990
  39. 400 VP = 11: PRINT T56$;:X$ = "]LIST": GOSUB 1070: LIST 990
  40. 410 VP = 17: PRINT T40$;:X$ = "]LIST": GOSUB 1070: LIST 990
  41. 420  PRINT T70$;: GOSUB 1080: HOME 
  42. 430  VTAB 3: PRINT "THE ABILITY TO DISPLAY DIFFERENT CHARACTER WIDTHS MAKES FLEX TYPE THE": PRINT "PERFECT COMPANION FOR..."
  43. 440  PRINT : PRINT  TAB( 27);"- YOUR PROGRAMS -": PRINT 
  44. 460  PRINT "THINK ABOUT IT.  YOU GET TO CHOOSE ANY OF THESE WIDTHS..."
  45. 470 J = 70: PRINT T70$;:VP = 11: GOSUB 1180:J = 56: PRINT T56$;:VP = 14: GOSUB 1180
  46. 480 J = 40: PRINT T40$;:VP = 17: GOSUB 1180:J = 20: PRINT W$;:VP = 20: GOSUB 1180
  47. 490  VTAB 1: PRINT T70$;
  48. 500  GOSUB 1080: GOSUB 1090
  49. 510  VTAB 1: HTAB 25: INVERSE : PRINT " UPPER AND LOWER CASE ": NORMAL 
  50. 520  PRINT : PRINT "Whether you are typing in your newest program or running an old": PRINT "favorite, lower case letters are right at your fingertips."
  51. 530  PRINT : PRINT "Now with Flex Type, you no longer need to buy a LOWER CASE ADAPTER."
  52. 590  PRINT : PRINT : PRINT "After all, would you rather have two-thirds of a character set?": PRINT :K = 2: GOSUB 1120: PRINT : PRINT : PRINT "Or the entire set?": PRINT :K = 3: GOSUB 1120
  53. 600  GOSUB 1080: GOSUB 1110
  54. 610  POKE 34,0
  55. 620  VTAB 1: HTAB 26: INVERSE : PRINT " SPECIAL CHARACTERS ": NORMAL : PRINT : PRINT "IN THE STANDARD ASCII CHARACTER SET THERE ARE 10 SPECIAL CHARACTERS."
  56. 630  VTAB 5: HTAB 10: PRINT Z$"K  -  LEFT BRACKET": PRINT 
  57. 640  HTAB 10: PRINT Z$"L  -  BACK SLASH": PRINT 
  58. 650  HTAB 10: PRINT Z$"M  -  RIGHT BRACKET": PRINT 
  59. 660  HTAB 10: PRINT Z$"N  -  UP ARROW (OR CARET)": PRINT 
  60. 670  HTAB 10: PRINT Z$"O  -  UNDERSCORE": PRINT 
  61. 680  VTAB 5: HTAB 45: PRINT Z$"k  -  LEFT BRACE": PRINT 
  62. 690  HTAB 45: PRINT Z$"l  -  VERTICAL BAR": PRINT 
  63. 700  HTAB 45: PRINT Z$"m  -  RIGHT BRACE": PRINT 
  64. 710  HTAB 45: PRINT Z$"n  -  TILDE": PRINT 
  65. 720  HTAB 45: PRINT Z$"o  -  RUB": PRINT 
  66. 730  PRINT "NORMALLY YOU HAVE ACCESS TO TWO OF THESE SPECIAL CHARACTERS FROM THE": PRINT "KEYBOARD, ";
  67. 740  PRINT "] AND ^."
  68. 750  PRINT : PRINT "AND BY USING THE CHR$ FUNCTION AVAILABLE IN APPLESOFT, YOU CAN PRINT": PRINT "THREE OTHERS, ";
  69. 760  PRINT  CHR$(91)", " CHR$(92)", AND " CHR$(95)"."
  70. 770  PRINT : PRINT "WITH FLEX TYPE, YOU CAN TYPE ALL TEN OF THESE SPECIAL CHARACTERS FROM": PRINT "THE KEYBOARD!";
  71. 780  GOSUB 1080: GOSUB 1060
  72. 790  HGR2 : HCOLOR= 3: VTAB 1: HTAB 23: INVERSE : PRINT " MIXED GRAPHICS AND TEXT ": NORMAL : PRINT : PRINT "YOU ARE ABOUT TO SEE AN EXAMPLE OF FLEX TYPE'S ABILITY TO COMBINE"
  73. 800  PRINT "GRAPHICS AND TEXT ON THE SAME SCREEN."
  74. 810  PRINT : PRINT "AS YOU WILL SEE, BESIDES COMBINING TEXT AND PICTURES YOU CAN ALSO": PRINT "PLOT ANYWHERE YOU LIKE."
  75. 820  GOSUB 1080: HOME : PRINT : PRINT D$"BLOAD DEMO.PIC,A$4000": VTAB 21: HTAB 1
  76. 830  PRINT "YOU CAN WRITE DOWN HERE, WHERE YOU WOULD NORMALLY EXPECT TO SEE TEXT."
  77. 840  VTAB 1: HTAB 1: PRINT "OR YOU CAN WRITE UP HERE, WHERE YOU DON'T EXPECT TO SEE IT.": VTAB 14: HTAB 33: PRINT "AND YOU CAN EVEN PUT TEXT"
  78. 850  FOR I = 1 TO 5: READ X,Y: HPLOT X,Y: NEXT I: DATA  235,108,235,112,232,116,226,118,219,119
  79. 860  FOR I = 1 TO 25:X = X -7: HPLOT X,Y: NEXT I
  80. 870  FOR I = 1 TO 8: READ X,Y: HPLOT X,Y: NEXT I: DATA  37,118,30,116,27,109,27,102,26,103,25,104,28,103,29,104
  81. 880  VTAB 11: HTAB 7: PRINT " HERE.": GOSUB 1080: HTAB 1: PRINT E$;: POKE 34,20
  82. 890  VTAB 23: HTAB 1: PRINT "IF HAVING SO MUCH FREEDOM BOTHERS YOU, YOU CAN ALWAYS LIMIT YOURSELF": PRINT "TO THE STANDARD FOUR LINES OF TEXT AT THE BOTTOM OF THE SCREEN"
  83. 900  PRINT "WITHOUT AFFECTING THE REST OF THE PICTURE OR CAUSING IT TO SCROLL."
  84. 910  GOSUB 1080: POKE 34,0: GOSUB 1160
  85. 920  VTAB 1: HTAB 1: INVERSE : PRINT " EDITING AND CURSOR CONTROL ": NORMAL : PRINT : PRINT "FLEX TYPE SUPPORTS ALL ESCAPE SEQUENCES, EDITING FUNCTIONS (ARROW": PRINT "KEYS), AND ZERO PAGE WINDOW POKES.  ";
  86. 930  PRINT "IT IS COMPLETELY COMPATIBLE WITH": PRINT "P.L.E. AND G.P.L.E. ALSO."
  87. 940  PRINT : PRINT : INVERSE : PRINT " PROGRAM CONTROL ": NORMAL : PRINT : PRINT "FLEX TYPE SUPPORTS ALL APPLESOFT COMMANDS AND ";:
  88. 950  PRINT "CORRECTLY INTERPRETS AND";: PRINT "EXECUTES COMMANDS LIKE HOME, INVERSE, NORMAL, TEXT, HGR, HTAB, ETC."
  89. 960  PRINT : PRINT : INVERSE : PRINT " CHARACTER SETS ": NORMAL : PRINT : PRINT "FLEX TYPE ALLOWS YOU TO DEFINE YOUR OWN CHARACTER SETS OR CHOOSE FROM": PRINT "SEVERAL ALREADY DEFINED SETS."
  90. 970  VTAB 20: PRINT "THERE IS NO LIMIT TO WHAT YOU CAN DO WITH FLEX TYPE ! "
  91. 990  FOR I = 1 TO 20: VTAB 20: HTAB 43:TGGLE =   NOT TGGLE: NORMAL : IF (TGGLE)  THEN  INVERSE 
  92. 1000  PRINT " FLEX TYPE ! ": FOR J = 1 TO 100: NEXT 
  93. 1010  IF I = 10  OR I = 20  THEN  PRINT N$;
  94. 1020  NEXT : END 
  95. 1060  HTAB 1: FOR I = 13 TO 24: VTAB I: PRINT E$;: VTAB 25 -I: PRINT E$;: NEXT I: RETURN 
  96. 1070  FOR I = 1 TO  LEN(X$): VTAB VP: HTAB HP: PRINT  LEFT$(X$,I);: INVERSE : PRINT " ";: NORMAL : NEXT I: VTAB VP: HTAB HP: PRINT X$;" ": RETURN 
  97. 1080  POKE  -16368,0: HTAB 15: VTAB 24: PRINT "PRESS ANY KEY TO CONTINUE (OR Q TO QUIT).";: GET X$: IF X$ = "Q"  THEN  POP : GOTO 1170
  98. 1085  RETURN 
  99. 1090  HTAB 1: FOR I = 1 TO 24: VTAB I: PRINT E$;: NEXT I: RETURN 
  100. 1100  HTAB 1: FOR I = 24 TO 1  STEP  -1: VTAB I: PRINT E$;: NEXT I: RETURN 
  101. 1110  HTAB 1: FOR I = 1 TO 12: VTAB I: PRINT E$;: VTAB 25 -I: PRINT E$;: NEXT I: RETURN 
  102. 1120  FOR I = 1 TO K: PRINT  SPC( I);: FOR J = 0 TO 31: PRINT  CHR$(J +I *32)" ";: NEXT J: PRINT : NEXT I: RETURN 
  103. 1130 HP =  PEEK(252)
  104. 1140  PRINT X$;
  105. 1150 LX =  LEN(X$):VP =  PEEK(37) +1: HPLOT HP *4,VP *8 TO (HP +LX) *4 -2,VP *8: RETURN 
  106. 1160  HOME : RETURN 
  107. 1170  POKE 216,0: NORMAL : POKE 34,0: VTAB 23: END 
  108. 1180  FOR I = 1 TO J: VTAB VP: HTAB I:X$ =  STR$(I): IF  LEN(X$) = 1  THEN X$ = "0" +X$
  109. 1190  PRINT  LEFT$(X$,1);: VTAB VP +1: HTAB I: PRINT  RIGHT$(X$,1);: NEXT I: RETURN 
  110. 9999  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>==================<CTRL-M>FLEX TYPE (DEMO)  <CTRL-M>BY  MARK SIMONSEN <CTRL-M>COPYRIGHT (C) 1982<CTRL-M>==================